home *** CD-ROM | disk | FTP | other *** search
-
-
-
- MMMMAAAAKKKKEEEE((((1111LLLL)))) GGGGNNNNUUUU ((((22222222 AAAAuuuugggguuuusssstttt 1111999988889999)))) MMMMAAAAKKKKEEEE((((1111LLLL))))
-
-
-
- NNNNAAAAMMMMEEEE
- make - GNU make utility to maintain groups of programs
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- mmmmaaaakkkkeeee [ ----ffff makefile ] [ option ] ... target ...
-
- WWWWAAAARRRRNNNNIIIINNNNGGGG
- This man paage is an extract of the documentation of _G_N_U
- _m_a_k_e . It is updated only occasionally, because the GNU
- project does not use nroff. For complete, current
- documentation, refer to the Info file mmmmaaaakkkkeeee or the DVI file
- mmmmaaaakkkkeeee....ddddvvvviiii which are made from the Texinfo source file
- mmmmaaaakkkkeeee....tttteeeexxxxiiiinnnnffffoooo.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The purpose of the _m_a_k_e utility is to determine
- automatically which pieces of a large program need to be
- recompiled, and issue the commands to recompile them. This
- manual describes the GNU implementation of _m_a_k_e, which was
- written by Richard Stallman and Roland McGrath. Our
- examples show C programs, since they are most common, but
- you can use _m_a_k_e with any programming language whose
- compiler can be run with a shell command. In fact, _m_a_k_e is
- not limited to programs. You can use it to describe any
- task where some files must be updated automatically from
- others whenever the others change.
-
- To prepare to use _m_a_k_e, you must write a file called the
- _m_a_k_e_f_i_l_e that describes the relationships among files in
- your program, and the states the commands for updating each
- file. In a program, typically the executable file is
- updated from object files, which are in turn made by
- compiling source files.
-
- Once a suitable makefile exists, each time you change some
- source files, this simple shell command:
-
- mmmmaaaakkkkeeee
-
- suffices to perform all necessary recompilations. The _m_a_k_e
- program uses the makefile data base and the last-
- modification times of the files to decide which of the files
- need to be updated. For each of those files, it issues the
- commands recorded in the data base.
-
- _m_a_k_e executes commands in the _m_a_k_e_f_i_l_e to update one or more
- target _n_a_m_e_s, where _n_a_m_e is typically a program. If no ----ffff
- option is present, _m_a_k_e will look for the makefiles
- _G_N_U_m_a_k_e_f_i_l_e, _m_a_k_e_f_i_l_e, and _M_a_k_e_f_i_l_e, in that order.
-
- Normally you should call your makefile either _m_a_k_e_f_i_l_e or
- _M_a_k_e_f_i_l_e. (We recommend _M_a_k_e_f_i_l_e because it appears
-
-
-
- Page 1 (printed 3/28/94)
-
-
-
-
-
-
- MMMMAAAAKKKKEEEE((((1111LLLL)))) GGGGNNNNUUUU ((((22222222 AAAAuuuugggguuuusssstttt 1111999988889999)))) MMMMAAAAKKKKEEEE((((1111LLLL))))
-
-
-
- prominently near the beginning of a directory listing, right
- near other important files such as _R_E_A_D_M_E.) The first name
- checked, _G_N_U_m_a_k_e_f_i_l_e, is not recommended for most makefiles.
- You should use this name if you have a makefile that is
- specific to GNU _m_a_k_e, and will not be understood by other
- versions of _m_a_k_e. If _m_a_k_e_f_i_l_e is `-', the standard input is
- read.
-
- _m_a_k_e updates a target if it depends on prerequisite files
- that have been modified since the target was last modified,
- or if the target does not exist.
-
- OOOOPPPPTTTTIIIIOOOONNNNSSSS
- ----bbbb
-
- ----mmmm These options are ignored for compatibility with other
- versions of _m_a_k_e.
-
- ----CCCC _d_i_r
- Change to directory _d_i_r before reading the makefiles or
- doing anything else. If multiple ----CCCC options are
- specified, each is interpreted relative to the previous
- one: ----CCCC / ----CCCC etc is equivalent to ----CCCC /etc. This is
- typically used with recursive invocations of _m_a_k_e.
-
- ----dddd Print debugging information in addition to normal
- processing. The debugging information says which files
- are being considered for remaking, which file-times are
- being compared and with what results, which files
- actually need to be remade, which implicit rules are
- considered and which are applied---everything
- interesting about how _m_a_k_e decides what to do.
-
- ----eeee Give variables taken from the environment precedence
- over variables from makefiles.
-
- ----ffff _f_i_l_e
- Use _f_i_l_e as a makefile.
-
- ----iiii Ignore all errors in commands executed to remake files.
-
- ----IIII _d_i_r
- Specifies a directory _d_i_r to search for included
- makefiles. If several ----IIII options are used to specify
- several directories, the directories are searched in
- the order specified. Unlike the arguments to other
- flags of _m_a_k_e, directories given with ----IIII flags may come
- directly after the flag: ----IIII_d_i_r is allowed, as well as
- ----IIII _d_i_r. This syntax is allowed for compatibility with
- the C preprocessor's ----IIII flag.
-
- ----jjjj _j_o_b_s
-
-
-
- Page 2 (printed 3/28/94)
-
-
-
-
-
-
- MMMMAAAAKKKKEEEE((((1111LLLL)))) GGGGNNNNUUUU ((((22222222 AAAAuuuugggguuuusssstttt 1111999988889999)))) MMMMAAAAKKKKEEEE((((1111LLLL))))
-
-
-
- Specifies the number of jobs (commands) to run
- simultaneously. If there is more than one ----jjjj option,
- the last one is effective. If the ----jjjj option is given
- without an argument, _m_a_k_e will not limit the number of
- jobs that can run simultaneously.
-
- ----kkkk Continue as much as possible after an error. While the
- target that failed, and those that depend on it, cannot
- be remade, the other dependencies of these targets can
- be processed all the same.
-
- ----llll
-
- ----llll _l_o_a_d
- Specifies that no new jobs (commands) should be started
- if there are others jobs running and the load average
- is at least _l_o_a_d (a floating-point number). With no
- argument, removes a previous load limit.
-
- ----nnnn Print the commands that would be executed, but do not
- execute them.
-
- ----oooo _f_i_l_e
- Do not remake the file _f_i_l_e even if it is older than
- its dependencies, and do not remake anything on account
- of changes in _f_i_l_e. Essentially the file is treated as
- very old and its rules are ignored.
-
- ----pppp Print the data base (rules and variable values) that
- results from reading the makefiles; then execute as
- usual or as otherwise specified. This also prints the
- version information given by the ----vvvv switch (see below).
- To print the data base without trying to remake any
- files, use mmmmaaaakkkkeeee ----pppp ----ffff/_d_e_v/_n_u_l_l.
-
- ----qqqq ``Question mode''. Do not run any commands, or print
- anything; just return an exit status that is zero if
- the specified targets are already up to date, nonzero
- otherwise.
-
- ----rrrr Eliminate use of the built-in implicit rules. Also
- clear out the default list of suffixes for suffix
- rules.
-
- ----ssss Silent operation; do not print the commands as they are
- executed.
-
- ----SSSS Cancel the effect of the ----kkkk option. This is never
- necessary except in a recursive _m_a_k_e where ----kkkk might be
- inherited from the top-level _m_a_k_e via MAKEFLAGS or if
- you set ----kkkk in MAKEFLAGS in your environment.
-
-
-
-
- Page 3 (printed 3/28/94)
-
-
-
-
-
-
- MMMMAAAAKKKKEEEE((((1111LLLL)))) GGGGNNNNUUUU ((((22222222 AAAAuuuugggguuuusssstttt 1111999988889999)))) MMMMAAAAKKKKEEEE((((1111LLLL))))
-
-
-
- ----tttt Touch files (mark them up to date without really
- changing them) instead of running their commands. This
- is used to pretend that the commands were done, in
- order to fool future invocations of _m_a_k_e.
-
- ----vvvv Print the version of the _m_a_k_e program plus a copyright,
- a list of authors and a notice that there is no
- warranty. After this information is printed,
- processing continues normally. To get this information
- without doing anything else, use mmmmaaaakkkkeeee ----vvvv ----ffff/_d_e_v/_n_u_l_l.
-
- ----wwww Print a message containing the working directory before
- and after other processing. This may be useful for
- tracking down errors from complicated nests of
- recursive _m_a_k_e commands.
-
- ----WWWW _f_i_l_e
- Pretend that the target _f_i_l_e has just been modified.
- When used with the ----nnnn flag, this shows you what would
- happen if you were to modify that file. Without ----nnnn, it
- is almost the same as running a _t_o_u_c_h command on the
- given file before running _m_a_k_e, except that the
- modification time is changed only in the imagination of
- _m_a_k_e.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- /usr/local/doc/gnumake.dvi
- _T_h_e _G_N_U _M_a_k_e _M_a_n_u_a_l
-
- BBBBUUUUGGGGSSSS
- See the chapter `Problems and Bugs' in _T_h_e _G_N_U _M_a_k_e _M_a_n_u_a_l .
-
- AAAAUUUUTTTTHHHHOOOORRRR
- This manual page contributed by Dennis Morse of Stanford
- University. It has been reworked by Roland McGrath.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 4 (printed 3/28/94)
-
-
-
-